package com.cx.common.anno;

import java.lang.annotation.*;

/**
 * 自定义微信处理器注解
 * @Author:cxy
 * @Date:2020/5/12 21:06
 *
 *
 * 自定义注解的四种声明
 * 1.@Target 表示该注解用于什么地方,默认值为任何元素
 *      TYPE -- Class
 *      FIELD -- Field
 *      METHOD -- Method
 *      PARAMETER -- Formal parameter
 *      CONSTRUCTOR -- Constructor
 * 2.@Retention 定义该注解的生命周期
 *      SOURCE : 在编译阶段丢弃
 *      CLASS : 在类加载的时候丢弃。在字节码文件的处理中有用。注解默认使用这种方式
 *      RUNTIME : 始终不会丢弃，运行期也保留该注解，因此可以使用反射机制读取该注解的信息
 * 3.@Documented 是否将注解信息添加在java 文档中
 * 4.@Inherited 定义该注解和子类的关系 是否继承该注解
 */


@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface WxMpMsgHan {

    String[] eventName();

    boolean asyn() default  false;

    String msgType() default "EVENT";


}
